h1, .h1, h2, .h2,
h3, .h3, h4, .h4,
h5, .h5, h6, .h6 {
  color: #2e2e2e;
  font-weight: 600;
  line-height: 1.2;
}

h1, h2, h3 {
  margin-top: 1.25rem;
  margin-bottom: 0.625rem;
}
h4, h5, h6 {
  margin-bottom: 0.625rem;
}

h1, .h1 { font-size: 2rem; }
h2, .h2 { font-size: 1.5rem; }
h3, .h3 { font-size: 1.25rem; }
h4, .h4 { font-size: 1rem; }
h5, .h5 { font-size: 0.875rem; }
h6, .h6 { font-size: 0.75rem; }

.f-mini { font-size: .75rem; }
.f-15 { font-size: 15px; }
.f-16 { font-size: 16px; }
.f-18 { font-size: 18px; }
.f-mini-plus { font-size: .875rem; }
.f-normal { font-size: 1rem; }
.f-15 { font-size: 15px !important; }

.bold-600 { font-weight: 600; }

.text-center { text-align: center; }
.text-right { text-align: right; }

.line-height-normal { line-height: 1.5; }

.title {
  color: #2e2e2e;
  font-weight: 600;
}

.f-white { color: #fff; }

.indent-2 { text-indent: 2rem; }

:root {
  --info-color: #909399;
  --info-deep-color: #6d757a;
}
.info { color: var(--info-color); } // .el-alert--info.is-light
.info-deep { color: var(--info-deep-color); } // 参考bilibili的"共10条回复"
.info-quote {
  color: var(--info-color);
  padding-left: .5em;
  border-left: 2px solid #e7e7e7;
}
.good-resource-text { color: #f56c6c !important; }

:root { --body-line-height: 1.5; }
.body-line-height {
  line-height: var(--body-line-height);

  .el-radio-group, .el-radio { line-height: var(--body-line-height); }
}

.link {
  cursor: pointer;

  &:hover { text-decoration: underline; }
  &.is-disabled { cursor: not-allowed; }

  &.el-link--primary { color: #409eff; }
  &.el-link--primary:hover { color: #66b1ff; }
  &.el-link--primary.is-disabled { color: #a0cfff; }
  &.el-link--success { color: #67c23a; }
  &.el-link--success:hover { color: #85ce61; }
  &.el-link--success.is-disabled { color: #b3e19d; }
  &.el-link--warning { color: #e6a23c; }
  &.el-link--warning:hover { color: #ebb563; }
  &.el-link--warning.is-disabled { color: #f3d19e; }
  &.el-link--danger { color: #f56c6c; }
  &.el-link--danger:hover { color: #f78989; }
  &.el-link--danger.is-disabled { color: #fab6b6; }
  &.el-link--info { color: #909399; }
  &.el-link--info.is-disabled { color: #c8c9cc; }

  &.title {
    color: #2e2e2e;
    transition: color .3s;
    text-decoration: unset;
  }
  &.info { color: var(--info-color); }
}
.title.link.hover-underline:hover { text-decoration: underline; }
.hover-underline-box:hover .hover-underline { text-decoration: underline; }

.primary-hover-color:hover { color: #409eff; }

.at-user {
  color: #409eff;
  @extend .link
}

.none-select { user-select: none; }

.nowrap { white-space: nowrap; }

.line1,
.no-warp-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.line2,
.no-warp-ellipsis-line2 {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-line-clamp: 2;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
}
.line3 {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-line-clamp: 3;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
}
